/*
 * ============================================================================
 * = COPYRIGHT
 *          PAX Computer Technology(Shenzhen) Co., Ltd. PROPRIETARY INFORMATION
 *   This software is supplied under the terms of a license agreement or nondisclosure
 *   agreement with PAX Computer Technology(Shenzhen) Co., Ltd. and may not be copied or
 *   disclosed except in accordance with the terms in that agreement.
 *     Copyright (C) 2021 PAX Computer Technology(Shenzhen) Co., Ltd. All rights reserved.
 * ============================================================================
 */

import 'auto_data_source_common.dart';
import 'package:pos_link/auto_pigeon/poslink_sdk_ped.dart';
import 'package:pos_link/auto_pigeon/poslink_sdk_transaction.dart';
import 'package:pos_link/auto_pigeon/poslink_sdk_form.dart';
import 'package:pos_link/auto_pigeon/poslink_sdk_payload.dart';
import 'package:pos_link/auto_pigeon/poslink_sdk_batch.dart';
import 'package:pos_link/auto_pigeon/poslink_sdk_manage.dart';
import 'package:pos_link/auto_pigeon/poslink_sdk_report.dart';
import 'package:pos_link/auto_pigeon/poslink_sdk_device.dart';


class RequestListModelQuery {
  static dynamic query(String id, List<Map> list) {
   if (id == 'Form_Request_ShowItemRequest-itemDetails') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<FormItemDetail> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       FormItemDetail formItemDetail = FormItemDetail();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'productName':
               formItemDetail.productName = subValue;
               break;
             case 'pluCode':
               formItemDetail.pluCode = subValue;
               break;
             case 'price':
               formItemDetail.price = subValue;
               break;
             case 'unit':
               formItemDetail.unit = subValue;
               break;
             case 'unitPrice':
               formItemDetail.unitPrice = subValue;
               break;
             case 'tax':
               formItemDetail.tax = subValue;
               break;
             case 'quantity':
               formItemDetail.quantity = subValue;
               break;
             case 'productImageName':
               formItemDetail.productImageName = subValue;
               break;
             case 'productImageDescription':
               formItemDetail.productImageDescription = subValue;
               break;
           }
       });
       resList.add(formItemDetail);
     });
     return resList;
   }
   if (id == 'Manage_Request_VasPushDataRequest-googleSmartTapPushService_googleServiceUsage') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<ManageServiceUsage> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       ManageServiceUsage manageServiceUsage = ManageServiceUsage();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'usageId':
               manageServiceUsage.usageId = subValue;
               break;
             case 'state':
               manageServiceUsage.state = subValue;
               break;
             case 'title':
               manageServiceUsage.title = subValue;
               break;
             case 'describe':
               manageServiceUsage.describe = subValue;
               break;
           }
       });
       resList.add(manageServiceUsage);
     });
     return resList;
   }
   if (id == 'Manage_Request_VasPushDataRequest-googleSmartTapPushService_googleServiceUpdate') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<ManageServiceUpdate> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       ManageServiceUpdate manageServiceUpdate = ManageServiceUpdate();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'updateId':
               manageServiceUpdate.updateId = subValue;
               break;
             case 'updateOperation':
               manageServiceUpdate.updateOperation = subValue;
               break;
             case 'updatePayload':
               manageServiceUpdate.updatePayload = subValue;
               break;
           }
       });
       resList.add(manageServiceUpdate);
     });
     return resList;
   }
   if (id == 'Manage_Request_VasPushDataRequest-googleSmartTapPushService_googleNewService') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<ManageNewService> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       ManageNewService manageNewService = ManageNewService();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'type':
               manageNewService.type = subValue;
               break;
             case 'title':
               manageNewService.title = subValue;
               break;
             case 'url':
               manageNewService.url = subValue;
               break;
           }
       });
       resList.add(manageNewService);
     });
     return resList;
   }
   if (id == 'Transaction_Request_DoCreditRequest-commercialInformation_taxDetails') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<TransactionTaxDetail> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       TransactionTaxDetail transactionTaxDetail = TransactionTaxDetail();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'taxType':
               transactionTaxDetail.taxType = subValue;
               break;
             case 'taxAmount':
               transactionTaxDetail.taxAmount = subValue;
               break;
             case 'taxRate':
               transactionTaxDetail.taxRate = subValue;
               break;
             case 'merchantTaxId':
               transactionTaxDetail.merchantTaxId = subValue;
               break;
             case 'customerTaxId':
               transactionTaxDetail.customerTaxId = subValue;
               break;
             case 'valueAddedTaxInvoiceNumber':
               transactionTaxDetail.valueAddedTaxInvoiceNumber = subValue;
               break;
             case 'alternateTaxId':
               transactionTaxDetail.alternateTaxId = subValue;
               break;
           }
       });
       resList.add(transactionTaxDetail);
     });
     return resList;
   }
   if (id == 'Transaction_Request_DoCreditRequest-lodging_roomRates') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<TransactionRoomRate> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       TransactionRoomRate transactionRoomRate = TransactionRoomRate();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'stayDuration':
               transactionRoomRate.stayDuration = subValue;
               break;
             case 'roomRateAmount':
               transactionRoomRate.roomRateAmount = subValue;
               break;
             case 'roomRateTax':
               transactionRoomRate.roomRateTax = subValue;
               break;
           }
       });
       resList.add(transactionRoomRate);
     });
     return resList;
   }
   if (id == 'Transaction_Request_DoCreditRequest-lodging_lodgingItems') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<TransactionLodgingItem> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       TransactionLodgingItem transactionLodgingItem = TransactionLodgingItem();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'itemType':
               transactionLodgingItem.itemType = subValue;
               break;
             case 'itemAmount':
               transactionLodgingItem.itemAmount = subValue;
               break;
             case 'itemCode':
               transactionLodgingItem.itemCode = subValue;
               break;
           }
       });
       resList.add(transactionLodgingItem);
     });
     return resList;
   }
   if (id == 'Transaction_Request_DoCreditRequest-autoRental_extraChargeItems') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<TransactionExtraChargeItem> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       TransactionExtraChargeItem transactionExtraChargeItem = TransactionExtraChargeItem();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'itemType':
               transactionExtraChargeItem.itemType = subValue;
               break;
             case 'extraChargeAmount':
               transactionExtraChargeItem.extraChargeAmount = subValue;
               break;
           }
       });
       resList.add(transactionExtraChargeItem);
     });
     return resList;
   }
   if (id == 'Transaction_Request_DoDebitRequest-lodging_roomRates') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<TransactionRoomRate> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       TransactionRoomRate transactionRoomRate = TransactionRoomRate();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'stayDuration':
               transactionRoomRate.stayDuration = subValue;
               break;
             case 'roomRateAmount':
               transactionRoomRate.roomRateAmount = subValue;
               break;
             case 'roomRateTax':
               transactionRoomRate.roomRateTax = subValue;
               break;
           }
       });
       resList.add(transactionRoomRate);
     });
     return resList;
   }
   if (id == 'Transaction_Request_DoCreditRequest-commercialInformation_lineItemDetails') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<TransactionLineItemDetail> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       TransactionLineItemDetail transactionLineItemDetail = TransactionLineItemDetail();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'itemSequenceNumber':
               transactionLineItemDetail.itemSequenceNumber = subValue;
               break;
             case 'productCode':
               transactionLineItemDetail.productCode = subValue;
               break;
             case 'itemCommodityCode':
               transactionLineItemDetail.itemCommodityCode = subValue;
               break;
             case 'itemDescription':
               transactionLineItemDetail.itemDescription = subValue;
               break;
             case 'itemQuantity':
               transactionLineItemDetail.itemQuantity = subValue;
               break;
             case 'itemMeasurementUnit':
               transactionLineItemDetail.itemMeasurementUnit = subValue;
               break;
             case 'itemUnitPrice':
               transactionLineItemDetail.itemUnitPrice = subValue;
               break;
             case 'itemDiscountAmount':
               transactionLineItemDetail.itemDiscountAmount = subValue;
               break;
             case 'itemDiscountRate':
               transactionLineItemDetail.itemDiscountRate = subValue;
               break;
             case 'taxDetails':
               transactionLineItemDetail.taxDetails = RequestListModelQuery.query('Transaction_Request_DoCreditRequest-commercialInformation_lineItemDetails_taxDetails', subList);
               break;
             case 'lineItemTotal':
               transactionLineItemDetail.lineItemTotal = subValue;
               break;
           }
       });
       resList.add(transactionLineItemDetail);
     });
     return resList;
   }
   if (id == 'Transaction_Request_DoCreditRequest-commercialInformation_lineItemDetails_taxDetails') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<TransactionTaxDetail> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       TransactionTaxDetail transactionTaxDetail = TransactionTaxDetail();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'taxType':
               transactionTaxDetail.taxType = subValue;
               break;
             case 'taxAmount':
               transactionTaxDetail.taxAmount = subValue;
               break;
             case 'taxRate':
               transactionTaxDetail.taxRate = subValue;
               break;
             case 'merchantTaxId':
               transactionTaxDetail.merchantTaxId = subValue;
               break;
             case 'customerTaxId':
               transactionTaxDetail.customerTaxId = subValue;
               break;
             case 'valueAddedTaxInvoiceNumber':
               transactionTaxDetail.valueAddedTaxInvoiceNumber = subValue;
               break;
             case 'alternateTaxId':
               transactionTaxDetail.alternateTaxId = subValue;
               break;
           }
       });
       resList.add(transactionTaxDetail);
     });
     return resList;
   }
   if (id == 'Transaction_Request_DoDebitRequest-lodging_lodgingItems') {
     List<List<Map<String, dynamic>>>? dataList;
     for (int i = 0; i < list.length; i++) {
       Map element = list[i];
       if (element[kID] == id) {
         dataList = element[kData];
         break;
       }
     }
     if (dataList == null) {
       return null;
     }
     List<TransactionLodgingItem> resList = [];
     dataList.forEach((List<Map<String, dynamic>> subList) {
       TransactionLodgingItem transactionLodgingItem = TransactionLodgingItem();
       subList.forEach((Map<String, dynamic> jsonObject) {
         String name = jsonObject[kName];
         dynamic subValue = jsonObject[kValue];
           switch (name) {
             case 'itemType':
               transactionLodgingItem.itemType = subValue;
               break;
             case 'itemAmount':
               transactionLodgingItem.itemAmount = subValue;
               break;
             case 'itemCode':
               transactionLodgingItem.itemCode = subValue;
               break;
           }
       });
       resList.add(transactionLodgingItem);
     });
     return resList;
   }
    dynamic value;
    for (int i = 0; i < list.length; i++) {
      Map element = list[i];
      if (element[kID] == id) {
        value = element[kValue];
        break;
      }
    }
    return value;
  }
}


class ListStringQuery {
  static dynamic query(String id, List<Map> list) {
    for (int i = 0; i < list.length; i++) {
      Map element = list[i];
      if (element[kID] == id) {
        return element[kData];
      }
    }
  }
}




class GroupQuery {
  static bool queryIfNull(String id, List<Map> list) {
    for (int i = 0; i < list.length; i++) {
      Map element = list[i];
      if (element[kID] == id) {
        if (element[kType] == DataItemType.Group && element[kGroupArrowOpen] == false && element[kBitmapEnable] == false) {
          return true;
        }
      }
    }
    return false;
  }
}




class ResponseListModelQuery {
  static List<List<Map<String, dynamic>>>? query(String id, List<dynamic> modelList) {
    List<List<Map<String, dynamic>>>? res = [];
    for (int i = 0; i < modelList.length; i++) {
      List<Map<String, dynamic>> subList = [];
     if (id == 'Transaction_Response_DoGiftResponse-paymentTransactionInformation_ewicDetail') {
       TransactionEwicDetail transactionEwicDetail = modelList[i];
       /// upcPluInd
       Map<String, dynamic> upcPluInd = {};
       upcPluInd[kID] = id + '-' + 'upcPluInd';
       upcPluInd[kValue] = transactionEwicDetail.upcPluInd;
       upcPluInd[kType] = DataItemType.Menu;
       upcPluInd[kEnable] = false;
       upcPluInd[kLevel] = 1;
       upcPluInd[kName] = 'upcPluInd';
       upcPluInd[kShow] = true;
       subList.add(upcPluInd);
       /// upcPluData
       Map<String, dynamic> upcPluData = {};
       upcPluData[kID] = id + '-' + 'upcPluData';
       upcPluData[kValue] = transactionEwicDetail.upcPluData;
       upcPluData[kType] = DataItemType.CellInput;
       upcPluData[kEnable] = false;
       upcPluData[kLevel] = 1;
       upcPluData[kName] = 'upcPluData';
       upcPluData[kShow] = true;
       subList.add(upcPluData);
       /// upcPrice
       Map<String, dynamic> upcPrice = {};
       upcPrice[kID] = id + '-' + 'upcPrice';
       upcPrice[kValue] = transactionEwicDetail.upcPrice;
       upcPrice[kType] = DataItemType.CellInput;
       upcPrice[kEnable] = false;
       upcPrice[kLevel] = 1;
       upcPrice[kName] = 'upcPrice';
       upcPrice[kShow] = true;
       subList.add(upcPrice);
       /// upcQty
       Map<String, dynamic> upcQty = {};
       upcQty[kID] = id + '-' + 'upcQty';
       upcQty[kValue] = transactionEwicDetail.upcQty;
       upcQty[kType] = DataItemType.CellInput;
       upcQty[kEnable] = false;
       upcQty[kLevel] = 1;
       upcQty[kName] = 'upcQty';
       upcQty[kShow] = true;
       subList.add(upcQty);
       /// actionCode
       Map<String, dynamic> actionCode = {};
       actionCode[kID] = id + '-' + 'actionCode';
       actionCode[kValue] = transactionEwicDetail.actionCode;
       actionCode[kType] = DataItemType.CellInput;
       actionCode[kEnable] = false;
       actionCode[kLevel] = 1;
       actionCode[kName] = 'actionCode';
       actionCode[kShow] = true;
       subList.add(actionCode);
       /// originalPrice
       Map<String, dynamic> originalPrice = {};
       originalPrice[kID] = id + '-' + 'originalPrice';
       originalPrice[kValue] = transactionEwicDetail.originalPrice;
       originalPrice[kType] = DataItemType.CellInput;
       originalPrice[kEnable] = false;
       originalPrice[kLevel] = 1;
       originalPrice[kName] = 'originalPrice';
       originalPrice[kShow] = true;
       subList.add(originalPrice);
       /// originalQty
       Map<String, dynamic> originalQty = {};
       originalQty[kID] = id + '-' + 'originalQty';
       originalQty[kValue] = transactionEwicDetail.originalQty;
       originalQty[kType] = DataItemType.CellInput;
       originalQty[kEnable] = false;
       originalQty[kLevel] = 1;
       originalQty[kName] = 'originalQty';
       originalQty[kShow] = true;
       subList.add(originalQty);
      }
     if (id == 'Transaction_Response_DoEbtResponse-paymentTransactionInformation_ewicDetail') {
       TransactionEwicDetail transactionEwicDetail = modelList[i];
       /// upcPluInd
       Map<String, dynamic> upcPluInd = {};
       upcPluInd[kID] = id + '-' + 'upcPluInd';
       upcPluInd[kValue] = transactionEwicDetail.upcPluInd;
       upcPluInd[kType] = DataItemType.Menu;
       upcPluInd[kEnable] = false;
       upcPluInd[kLevel] = 1;
       upcPluInd[kName] = 'upcPluInd';
       upcPluInd[kShow] = true;
       subList.add(upcPluInd);
       /// upcPluData
       Map<String, dynamic> upcPluData = {};
       upcPluData[kID] = id + '-' + 'upcPluData';
       upcPluData[kValue] = transactionEwicDetail.upcPluData;
       upcPluData[kType] = DataItemType.CellInput;
       upcPluData[kEnable] = false;
       upcPluData[kLevel] = 1;
       upcPluData[kName] = 'upcPluData';
       upcPluData[kShow] = true;
       subList.add(upcPluData);
       /// upcPrice
       Map<String, dynamic> upcPrice = {};
       upcPrice[kID] = id + '-' + 'upcPrice';
       upcPrice[kValue] = transactionEwicDetail.upcPrice;
       upcPrice[kType] = DataItemType.CellInput;
       upcPrice[kEnable] = false;
       upcPrice[kLevel] = 1;
       upcPrice[kName] = 'upcPrice';
       upcPrice[kShow] = true;
       subList.add(upcPrice);
       /// upcQty
       Map<String, dynamic> upcQty = {};
       upcQty[kID] = id + '-' + 'upcQty';
       upcQty[kValue] = transactionEwicDetail.upcQty;
       upcQty[kType] = DataItemType.CellInput;
       upcQty[kEnable] = false;
       upcQty[kLevel] = 1;
       upcQty[kName] = 'upcQty';
       upcQty[kShow] = true;
       subList.add(upcQty);
       /// actionCode
       Map<String, dynamic> actionCode = {};
       actionCode[kID] = id + '-' + 'actionCode';
       actionCode[kValue] = transactionEwicDetail.actionCode;
       actionCode[kType] = DataItemType.CellInput;
       actionCode[kEnable] = false;
       actionCode[kLevel] = 1;
       actionCode[kName] = 'actionCode';
       actionCode[kShow] = true;
       subList.add(actionCode);
       /// originalPrice
       Map<String, dynamic> originalPrice = {};
       originalPrice[kID] = id + '-' + 'originalPrice';
       originalPrice[kValue] = transactionEwicDetail.originalPrice;
       originalPrice[kType] = DataItemType.CellInput;
       originalPrice[kEnable] = false;
       originalPrice[kLevel] = 1;
       originalPrice[kName] = 'originalPrice';
       originalPrice[kShow] = true;
       subList.add(originalPrice);
       /// originalQty
       Map<String, dynamic> originalQty = {};
       originalQty[kID] = id + '-' + 'originalQty';
       originalQty[kValue] = transactionEwicDetail.originalQty;
       originalQty[kType] = DataItemType.CellInput;
       originalQty[kEnable] = false;
       originalQty[kLevel] = 1;
       originalQty[kName] = 'originalQty';
       originalQty[kShow] = true;
       subList.add(originalQty);
      }
     if (id == 'Transaction_Response_DoLoyaltyResponse-paymentTransactionInformation_ewicBalance') {
       TransactionEwicBalance transactionEwicBalance = modelList[i];
       /// productCode
       Map<String, dynamic> productCode = {};
       productCode[kID] = id + '-' + 'productCode';
       productCode[kValue] = transactionEwicBalance.productCode;
       productCode[kType] = DataItemType.CellInput;
       productCode[kEnable] = false;
       productCode[kLevel] = 1;
       productCode[kName] = 'productCode';
       productCode[kShow] = true;
       subList.add(productCode);
       /// subCode
       Map<String, dynamic> subCode = {};
       subCode[kID] = id + '-' + 'subCode';
       subCode[kValue] = transactionEwicBalance.subCode;
       subCode[kType] = DataItemType.CellInput;
       subCode[kEnable] = false;
       subCode[kLevel] = 1;
       subCode[kName] = 'subCode';
       subCode[kShow] = true;
       subList.add(subCode);
       /// balance
       Map<String, dynamic> balance = {};
       balance[kID] = id + '-' + 'balance';
       balance[kValue] = transactionEwicBalance.balance;
       balance[kType] = DataItemType.CellInput;
       balance[kEnable] = false;
       balance[kLevel] = 1;
       balance[kName] = 'balance';
       balance[kShow] = true;
       subList.add(balance);
      }
     if (id == 'Transaction_Response_DoLoyaltyResponse-paymentTransactionInformation_ewicDetail') {
       TransactionEwicDetail transactionEwicDetail = modelList[i];
       /// upcPluInd
       Map<String, dynamic> upcPluInd = {};
       upcPluInd[kID] = id + '-' + 'upcPluInd';
       upcPluInd[kValue] = transactionEwicDetail.upcPluInd;
       upcPluInd[kType] = DataItemType.Menu;
       upcPluInd[kEnable] = false;
       upcPluInd[kLevel] = 1;
       upcPluInd[kName] = 'upcPluInd';
       upcPluInd[kShow] = true;
       subList.add(upcPluInd);
       /// upcPluData
       Map<String, dynamic> upcPluData = {};
       upcPluData[kID] = id + '-' + 'upcPluData';
       upcPluData[kValue] = transactionEwicDetail.upcPluData;
       upcPluData[kType] = DataItemType.CellInput;
       upcPluData[kEnable] = false;
       upcPluData[kLevel] = 1;
       upcPluData[kName] = 'upcPluData';
       upcPluData[kShow] = true;
       subList.add(upcPluData);
       /// upcPrice
       Map<String, dynamic> upcPrice = {};
       upcPrice[kID] = id + '-' + 'upcPrice';
       upcPrice[kValue] = transactionEwicDetail.upcPrice;
       upcPrice[kType] = DataItemType.CellInput;
       upcPrice[kEnable] = false;
       upcPrice[kLevel] = 1;
       upcPrice[kName] = 'upcPrice';
       upcPrice[kShow] = true;
       subList.add(upcPrice);
       /// upcQty
       Map<String, dynamic> upcQty = {};
       upcQty[kID] = id + '-' + 'upcQty';
       upcQty[kValue] = transactionEwicDetail.upcQty;
       upcQty[kType] = DataItemType.CellInput;
       upcQty[kEnable] = false;
       upcQty[kLevel] = 1;
       upcQty[kName] = 'upcQty';
       upcQty[kShow] = true;
       subList.add(upcQty);
       /// actionCode
       Map<String, dynamic> actionCode = {};
       actionCode[kID] = id + '-' + 'actionCode';
       actionCode[kValue] = transactionEwicDetail.actionCode;
       actionCode[kType] = DataItemType.CellInput;
       actionCode[kEnable] = false;
       actionCode[kLevel] = 1;
       actionCode[kName] = 'actionCode';
       actionCode[kShow] = true;
       subList.add(actionCode);
       /// originalPrice
       Map<String, dynamic> originalPrice = {};
       originalPrice[kID] = id + '-' + 'originalPrice';
       originalPrice[kValue] = transactionEwicDetail.originalPrice;
       originalPrice[kType] = DataItemType.CellInput;
       originalPrice[kEnable] = false;
       originalPrice[kLevel] = 1;
       originalPrice[kName] = 'originalPrice';
       originalPrice[kShow] = true;
       subList.add(originalPrice);
       /// originalQty
       Map<String, dynamic> originalQty = {};
       originalQty[kID] = id + '-' + 'originalQty';
       originalQty[kValue] = transactionEwicDetail.originalQty;
       originalQty[kType] = DataItemType.CellInput;
       originalQty[kEnable] = false;
       originalQty[kLevel] = 1;
       originalQty[kName] = 'originalQty';
       originalQty[kShow] = true;
       subList.add(originalQty);
      }
     if (id == 'Transaction_Response_DoDebitResponse-paymentTransactionInformation_ewicBalance') {
       TransactionEwicBalance transactionEwicBalance = modelList[i];
       /// productCode
       Map<String, dynamic> productCode = {};
       productCode[kID] = id + '-' + 'productCode';
       productCode[kValue] = transactionEwicBalance.productCode;
       productCode[kType] = DataItemType.CellInput;
       productCode[kEnable] = false;
       productCode[kLevel] = 1;
       productCode[kName] = 'productCode';
       productCode[kShow] = true;
       subList.add(productCode);
       /// subCode
       Map<String, dynamic> subCode = {};
       subCode[kID] = id + '-' + 'subCode';
       subCode[kValue] = transactionEwicBalance.subCode;
       subCode[kType] = DataItemType.CellInput;
       subCode[kEnable] = false;
       subCode[kLevel] = 1;
       subCode[kName] = 'subCode';
       subCode[kShow] = true;
       subList.add(subCode);
       /// balance
       Map<String, dynamic> balance = {};
       balance[kID] = id + '-' + 'balance';
       balance[kValue] = transactionEwicBalance.balance;
       balance[kType] = DataItemType.CellInput;
       balance[kEnable] = false;
       balance[kLevel] = 1;
       balance[kName] = 'balance';
       balance[kShow] = true;
       subList.add(balance);
      }
     if (id == 'Ped_Response_GetPedInformationResponse-tdk') {
       PedMasterSessionKeyInformation pedMasterSessionKeyInformation = modelList[i];
       /// keySlot
       Map<String, dynamic> keySlot = {};
       keySlot[kID] = id + '-' + 'keySlot';
       keySlot[kValue] = pedMasterSessionKeyInformation.keySlot;
       keySlot[kType] = DataItemType.CellInput;
       keySlot[kEnable] = false;
       keySlot[kLevel] = 1;
       keySlot[kName] = 'keySlot';
       keySlot[kShow] = true;
       subList.add(keySlot);
       /// kcv
       Map<String, dynamic> kcv = {};
       kcv[kID] = id + '-' + 'kcv';
       kcv[kValue] = pedMasterSessionKeyInformation.kcv;
       kcv[kType] = DataItemType.CellInput;
       kcv[kEnable] = false;
       kcv[kLevel] = 1;
       kcv[kName] = 'kcv';
       kcv[kShow] = true;
       subList.add(kcv);
      }
     if (id == 'Ped_Response_GetPedInformationResponse-dukptKey') {
       PedDukptKeyInformation pedDukptKeyInformation = modelList[i];
       /// keySlot
       Map<String, dynamic> keySlot = {};
       keySlot[kID] = id + '-' + 'keySlot';
       keySlot[kValue] = pedDukptKeyInformation.keySlot;
       keySlot[kType] = DataItemType.CellInput;
       keySlot[kEnable] = false;
       keySlot[kLevel] = 1;
       keySlot[kName] = 'keySlot';
       keySlot[kShow] = true;
       subList.add(keySlot);
       /// ksn
       Map<String, dynamic> ksn = {};
       ksn[kID] = id + '-' + 'ksn';
       ksn[kValue] = pedDukptKeyInformation.ksn;
       ksn[kType] = DataItemType.CellInput;
       ksn[kEnable] = false;
       ksn[kLevel] = 1;
       ksn[kName] = 'ksn';
       ksn[kShow] = true;
       subList.add(ksn);
       /// kcv
       Map<String, dynamic> kcv = {};
       kcv[kID] = id + '-' + 'kcv';
       kcv[kValue] = pedDukptKeyInformation.kcv;
       kcv[kType] = DataItemType.CellInput;
       kcv[kEnable] = false;
       kcv[kLevel] = 1;
       kcv[kName] = 'kcv';
       kcv[kShow] = true;
       subList.add(kcv);
      }
     if (id == 'Ped_Response_GetPedInformationResponse-aesDukptKey') {
       PedDukptKeyInformation pedDukptKeyInformation = modelList[i];
       /// keySlot
       Map<String, dynamic> keySlot = {};
       keySlot[kID] = id + '-' + 'keySlot';
       keySlot[kValue] = pedDukptKeyInformation.keySlot;
       keySlot[kType] = DataItemType.CellInput;
       keySlot[kEnable] = false;
       keySlot[kLevel] = 1;
       keySlot[kName] = 'keySlot';
       keySlot[kShow] = true;
       subList.add(keySlot);
       /// ksn
       Map<String, dynamic> ksn = {};
       ksn[kID] = id + '-' + 'ksn';
       ksn[kValue] = pedDukptKeyInformation.ksn;
       ksn[kType] = DataItemType.CellInput;
       ksn[kEnable] = false;
       ksn[kLevel] = 1;
       ksn[kName] = 'ksn';
       ksn[kShow] = true;
       subList.add(ksn);
       /// kcv
       Map<String, dynamic> kcv = {};
       kcv[kID] = id + '-' + 'kcv';
       kcv[kValue] = pedDukptKeyInformation.kcv;
       kcv[kType] = DataItemType.CellInput;
       kcv[kEnable] = false;
       kcv[kLevel] = 1;
       kcv[kName] = 'kcv';
       kcv[kShow] = true;
       subList.add(kcv);
      }
     if (id == 'Transaction_Response_DoCashResponse-paymentTransactionInformation_ewicBalance') {
       TransactionEwicBalance transactionEwicBalance = modelList[i];
       /// productCode
       Map<String, dynamic> productCode = {};
       productCode[kID] = id + '-' + 'productCode';
       productCode[kValue] = transactionEwicBalance.productCode;
       productCode[kType] = DataItemType.CellInput;
       productCode[kEnable] = false;
       productCode[kLevel] = 1;
       productCode[kName] = 'productCode';
       productCode[kShow] = true;
       subList.add(productCode);
       /// subCode
       Map<String, dynamic> subCode = {};
       subCode[kID] = id + '-' + 'subCode';
       subCode[kValue] = transactionEwicBalance.subCode;
       subCode[kType] = DataItemType.CellInput;
       subCode[kEnable] = false;
       subCode[kLevel] = 1;
       subCode[kName] = 'subCode';
       subCode[kShow] = true;
       subList.add(subCode);
       /// balance
       Map<String, dynamic> balance = {};
       balance[kID] = id + '-' + 'balance';
       balance[kValue] = transactionEwicBalance.balance;
       balance[kType] = DataItemType.CellInput;
       balance[kEnable] = false;
       balance[kLevel] = 1;
       balance[kName] = 'balance';
       balance[kShow] = true;
       subList.add(balance);
      }
     if (id == 'Ped_Response_GetPedInformationResponse-tak') {
       PedMasterSessionKeyInformation pedMasterSessionKeyInformation = modelList[i];
       /// keySlot
       Map<String, dynamic> keySlot = {};
       keySlot[kID] = id + '-' + 'keySlot';
       keySlot[kValue] = pedMasterSessionKeyInformation.keySlot;
       keySlot[kType] = DataItemType.CellInput;
       keySlot[kEnable] = false;
       keySlot[kLevel] = 1;
       keySlot[kName] = 'keySlot';
       keySlot[kShow] = true;
       subList.add(keySlot);
       /// kcv
       Map<String, dynamic> kcv = {};
       kcv[kID] = id + '-' + 'kcv';
       kcv[kValue] = pedMasterSessionKeyInformation.kcv;
       kcv[kType] = DataItemType.CellInput;
       kcv[kEnable] = false;
       kcv[kLevel] = 1;
       kcv[kName] = 'kcv';
       kcv[kShow] = true;
       subList.add(kcv);
      }
     if (id == 'Ped_Response_GetPedInformationResponse-tmk') {
       PedMasterSessionKeyInformation pedMasterSessionKeyInformation = modelList[i];
       /// keySlot
       Map<String, dynamic> keySlot = {};
       keySlot[kID] = id + '-' + 'keySlot';
       keySlot[kValue] = pedMasterSessionKeyInformation.keySlot;
       keySlot[kType] = DataItemType.CellInput;
       keySlot[kEnable] = false;
       keySlot[kLevel] = 1;
       keySlot[kName] = 'keySlot';
       keySlot[kShow] = true;
       subList.add(keySlot);
       /// kcv
       Map<String, dynamic> kcv = {};
       kcv[kID] = id + '-' + 'kcv';
       kcv[kValue] = pedMasterSessionKeyInformation.kcv;
       kcv[kType] = DataItemType.CellInput;
       kcv[kEnable] = false;
       kcv[kLevel] = 1;
       kcv[kName] = 'kcv';
       kcv[kShow] = true;
       subList.add(kcv);
      }
     if (id == 'Ped_Response_GetPedInformationResponse-tpk') {
       PedMasterSessionKeyInformation pedMasterSessionKeyInformation = modelList[i];
       /// keySlot
       Map<String, dynamic> keySlot = {};
       keySlot[kID] = id + '-' + 'keySlot';
       keySlot[kValue] = pedMasterSessionKeyInformation.keySlot;
       keySlot[kType] = DataItemType.CellInput;
       keySlot[kEnable] = false;
       keySlot[kLevel] = 1;
       keySlot[kName] = 'keySlot';
       keySlot[kShow] = true;
       subList.add(keySlot);
       /// kcv
       Map<String, dynamic> kcv = {};
       kcv[kID] = id + '-' + 'kcv';
       kcv[kValue] = pedMasterSessionKeyInformation.kcv;
       kcv[kType] = DataItemType.CellInput;
       kcv[kEnable] = false;
       kcv[kLevel] = 1;
       kcv[kName] = 'kcv';
       kcv[kShow] = true;
       subList.add(kcv);
      }
     if (id == 'Transaction_Response_DoCashResponse-paymentTransactionInformation_ewicDetail') {
       TransactionEwicDetail transactionEwicDetail = modelList[i];
       /// upcPluInd
       Map<String, dynamic> upcPluInd = {};
       upcPluInd[kID] = id + '-' + 'upcPluInd';
       upcPluInd[kValue] = transactionEwicDetail.upcPluInd;
       upcPluInd[kType] = DataItemType.Menu;
       upcPluInd[kEnable] = false;
       upcPluInd[kLevel] = 1;
       upcPluInd[kName] = 'upcPluInd';
       upcPluInd[kShow] = true;
       subList.add(upcPluInd);
       /// upcPluData
       Map<String, dynamic> upcPluData = {};
       upcPluData[kID] = id + '-' + 'upcPluData';
       upcPluData[kValue] = transactionEwicDetail.upcPluData;
       upcPluData[kType] = DataItemType.CellInput;
       upcPluData[kEnable] = false;
       upcPluData[kLevel] = 1;
       upcPluData[kName] = 'upcPluData';
       upcPluData[kShow] = true;
       subList.add(upcPluData);
       /// upcPrice
       Map<String, dynamic> upcPrice = {};
       upcPrice[kID] = id + '-' + 'upcPrice';
       upcPrice[kValue] = transactionEwicDetail.upcPrice;
       upcPrice[kType] = DataItemType.CellInput;
       upcPrice[kEnable] = false;
       upcPrice[kLevel] = 1;
       upcPrice[kName] = 'upcPrice';
       upcPrice[kShow] = true;
       subList.add(upcPrice);
       /// upcQty
       Map<String, dynamic> upcQty = {};
       upcQty[kID] = id + '-' + 'upcQty';
       upcQty[kValue] = transactionEwicDetail.upcQty;
       upcQty[kType] = DataItemType.CellInput;
       upcQty[kEnable] = false;
       upcQty[kLevel] = 1;
       upcQty[kName] = 'upcQty';
       upcQty[kShow] = true;
       subList.add(upcQty);
       /// actionCode
       Map<String, dynamic> actionCode = {};
       actionCode[kID] = id + '-' + 'actionCode';
       actionCode[kValue] = transactionEwicDetail.actionCode;
       actionCode[kType] = DataItemType.CellInput;
       actionCode[kEnable] = false;
       actionCode[kLevel] = 1;
       actionCode[kName] = 'actionCode';
       actionCode[kShow] = true;
       subList.add(actionCode);
       /// originalPrice
       Map<String, dynamic> originalPrice = {};
       originalPrice[kID] = id + '-' + 'originalPrice';
       originalPrice[kValue] = transactionEwicDetail.originalPrice;
       originalPrice[kType] = DataItemType.CellInput;
       originalPrice[kEnable] = false;
       originalPrice[kLevel] = 1;
       originalPrice[kName] = 'originalPrice';
       originalPrice[kShow] = true;
       subList.add(originalPrice);
       /// originalQty
       Map<String, dynamic> originalQty = {};
       originalQty[kID] = id + '-' + 'originalQty';
       originalQty[kValue] = transactionEwicDetail.originalQty;
       originalQty[kType] = DataItemType.CellInput;
       originalQty[kEnable] = false;
       originalQty[kLevel] = 1;
       originalQty[kName] = 'originalQty';
       originalQty[kShow] = true;
       subList.add(originalQty);
      }
     if (id == 'Transaction_Response_DoEbtResponse-paymentTransactionInformation_ewicBalance') {
       TransactionEwicBalance transactionEwicBalance = modelList[i];
       /// productCode
       Map<String, dynamic> productCode = {};
       productCode[kID] = id + '-' + 'productCode';
       productCode[kValue] = transactionEwicBalance.productCode;
       productCode[kType] = DataItemType.CellInput;
       productCode[kEnable] = false;
       productCode[kLevel] = 1;
       productCode[kName] = 'productCode';
       productCode[kShow] = true;
       subList.add(productCode);
       /// subCode
       Map<String, dynamic> subCode = {};
       subCode[kID] = id + '-' + 'subCode';
       subCode[kValue] = transactionEwicBalance.subCode;
       subCode[kType] = DataItemType.CellInput;
       subCode[kEnable] = false;
       subCode[kLevel] = 1;
       subCode[kName] = 'subCode';
       subCode[kShow] = true;
       subList.add(subCode);
       /// balance
       Map<String, dynamic> balance = {};
       balance[kID] = id + '-' + 'balance';
       balance[kValue] = transactionEwicBalance.balance;
       balance[kType] = DataItemType.CellInput;
       balance[kEnable] = false;
       balance[kLevel] = 1;
       balance[kName] = 'balance';
       balance[kShow] = true;
       subList.add(balance);
      }
     if (id == 'Transaction_Response_DoDebitResponse-paymentTransactionInformation_ewicDetail') {
       TransactionEwicDetail transactionEwicDetail = modelList[i];
       /// upcPluInd
       Map<String, dynamic> upcPluInd = {};
       upcPluInd[kID] = id + '-' + 'upcPluInd';
       upcPluInd[kValue] = transactionEwicDetail.upcPluInd;
       upcPluInd[kType] = DataItemType.Menu;
       upcPluInd[kEnable] = false;
       upcPluInd[kLevel] = 1;
       upcPluInd[kName] = 'upcPluInd';
       upcPluInd[kShow] = true;
       subList.add(upcPluInd);
       /// upcPluData
       Map<String, dynamic> upcPluData = {};
       upcPluData[kID] = id + '-' + 'upcPluData';
       upcPluData[kValue] = transactionEwicDetail.upcPluData;
       upcPluData[kType] = DataItemType.CellInput;
       upcPluData[kEnable] = false;
       upcPluData[kLevel] = 1;
       upcPluData[kName] = 'upcPluData';
       upcPluData[kShow] = true;
       subList.add(upcPluData);
       /// upcPrice
       Map<String, dynamic> upcPrice = {};
       upcPrice[kID] = id + '-' + 'upcPrice';
       upcPrice[kValue] = transactionEwicDetail.upcPrice;
       upcPrice[kType] = DataItemType.CellInput;
       upcPrice[kEnable] = false;
       upcPrice[kLevel] = 1;
       upcPrice[kName] = 'upcPrice';
       upcPrice[kShow] = true;
       subList.add(upcPrice);
       /// upcQty
       Map<String, dynamic> upcQty = {};
       upcQty[kID] = id + '-' + 'upcQty';
       upcQty[kValue] = transactionEwicDetail.upcQty;
       upcQty[kType] = DataItemType.CellInput;
       upcQty[kEnable] = false;
       upcQty[kLevel] = 1;
       upcQty[kName] = 'upcQty';
       upcQty[kShow] = true;
       subList.add(upcQty);
       /// actionCode
       Map<String, dynamic> actionCode = {};
       actionCode[kID] = id + '-' + 'actionCode';
       actionCode[kValue] = transactionEwicDetail.actionCode;
       actionCode[kType] = DataItemType.CellInput;
       actionCode[kEnable] = false;
       actionCode[kLevel] = 1;
       actionCode[kName] = 'actionCode';
       actionCode[kShow] = true;
       subList.add(actionCode);
       /// originalPrice
       Map<String, dynamic> originalPrice = {};
       originalPrice[kID] = id + '-' + 'originalPrice';
       originalPrice[kValue] = transactionEwicDetail.originalPrice;
       originalPrice[kType] = DataItemType.CellInput;
       originalPrice[kEnable] = false;
       originalPrice[kLevel] = 1;
       originalPrice[kName] = 'originalPrice';
       originalPrice[kShow] = true;
       subList.add(originalPrice);
       /// originalQty
       Map<String, dynamic> originalQty = {};
       originalQty[kID] = id + '-' + 'originalQty';
       originalQty[kValue] = transactionEwicDetail.originalQty;
       originalQty[kType] = DataItemType.CellInput;
       originalQty[kEnable] = false;
       originalQty[kLevel] = 1;
       originalQty[kName] = 'originalQty';
       originalQty[kShow] = true;
       subList.add(originalQty);
      }
     if (id == 'Transaction_Response_DoCheckResponse-paymentTransactionInformation_ewicBalance') {
       TransactionEwicBalance transactionEwicBalance = modelList[i];
       /// productCode
       Map<String, dynamic> productCode = {};
       productCode[kID] = id + '-' + 'productCode';
       productCode[kValue] = transactionEwicBalance.productCode;
       productCode[kType] = DataItemType.CellInput;
       productCode[kEnable] = false;
       productCode[kLevel] = 1;
       productCode[kName] = 'productCode';
       productCode[kShow] = true;
       subList.add(productCode);
       /// subCode
       Map<String, dynamic> subCode = {};
       subCode[kID] = id + '-' + 'subCode';
       subCode[kValue] = transactionEwicBalance.subCode;
       subCode[kType] = DataItemType.CellInput;
       subCode[kEnable] = false;
       subCode[kLevel] = 1;
       subCode[kName] = 'subCode';
       subCode[kShow] = true;
       subList.add(subCode);
       /// balance
       Map<String, dynamic> balance = {};
       balance[kID] = id + '-' + 'balance';
       balance[kValue] = transactionEwicBalance.balance;
       balance[kType] = DataItemType.CellInput;
       balance[kEnable] = false;
       balance[kLevel] = 1;
       balance[kName] = 'balance';
       balance[kShow] = true;
       subList.add(balance);
      }
     if (id == 'Transaction_Response_DoCheckResponse-paymentTransactionInformation_ewicDetail') {
       TransactionEwicDetail transactionEwicDetail = modelList[i];
       /// upcPluInd
       Map<String, dynamic> upcPluInd = {};
       upcPluInd[kID] = id + '-' + 'upcPluInd';
       upcPluInd[kValue] = transactionEwicDetail.upcPluInd;
       upcPluInd[kType] = DataItemType.Menu;
       upcPluInd[kEnable] = false;
       upcPluInd[kLevel] = 1;
       upcPluInd[kName] = 'upcPluInd';
       upcPluInd[kShow] = true;
       subList.add(upcPluInd);
       /// upcPluData
       Map<String, dynamic> upcPluData = {};
       upcPluData[kID] = id + '-' + 'upcPluData';
       upcPluData[kValue] = transactionEwicDetail.upcPluData;
       upcPluData[kType] = DataItemType.CellInput;
       upcPluData[kEnable] = false;
       upcPluData[kLevel] = 1;
       upcPluData[kName] = 'upcPluData';
       upcPluData[kShow] = true;
       subList.add(upcPluData);
       /// upcPrice
       Map<String, dynamic> upcPrice = {};
       upcPrice[kID] = id + '-' + 'upcPrice';
       upcPrice[kValue] = transactionEwicDetail.upcPrice;
       upcPrice[kType] = DataItemType.CellInput;
       upcPrice[kEnable] = false;
       upcPrice[kLevel] = 1;
       upcPrice[kName] = 'upcPrice';
       upcPrice[kShow] = true;
       subList.add(upcPrice);
       /// upcQty
       Map<String, dynamic> upcQty = {};
       upcQty[kID] = id + '-' + 'upcQty';
       upcQty[kValue] = transactionEwicDetail.upcQty;
       upcQty[kType] = DataItemType.CellInput;
       upcQty[kEnable] = false;
       upcQty[kLevel] = 1;
       upcQty[kName] = 'upcQty';
       upcQty[kShow] = true;
       subList.add(upcQty);
       /// actionCode
       Map<String, dynamic> actionCode = {};
       actionCode[kID] = id + '-' + 'actionCode';
       actionCode[kValue] = transactionEwicDetail.actionCode;
       actionCode[kType] = DataItemType.CellInput;
       actionCode[kEnable] = false;
       actionCode[kLevel] = 1;
       actionCode[kName] = 'actionCode';
       actionCode[kShow] = true;
       subList.add(actionCode);
       /// originalPrice
       Map<String, dynamic> originalPrice = {};
       originalPrice[kID] = id + '-' + 'originalPrice';
       originalPrice[kValue] = transactionEwicDetail.originalPrice;
       originalPrice[kType] = DataItemType.CellInput;
       originalPrice[kEnable] = false;
       originalPrice[kLevel] = 1;
       originalPrice[kName] = 'originalPrice';
       originalPrice[kShow] = true;
       subList.add(originalPrice);
       /// originalQty
       Map<String, dynamic> originalQty = {};
       originalQty[kID] = id + '-' + 'originalQty';
       originalQty[kValue] = transactionEwicDetail.originalQty;
       originalQty[kType] = DataItemType.CellInput;
       originalQty[kEnable] = false;
       originalQty[kLevel] = 1;
       originalQty[kName] = 'originalQty';
       originalQty[kShow] = true;
       subList.add(originalQty);
      }
     if (id == 'Transaction_Response_DoCreditResponse-paymentTransactionInformation_ewicBalance') {
       TransactionEwicBalance transactionEwicBalance = modelList[i];
       /// productCode
       Map<String, dynamic> productCode = {};
       productCode[kID] = id + '-' + 'productCode';
       productCode[kValue] = transactionEwicBalance.productCode;
       productCode[kType] = DataItemType.CellInput;
       productCode[kEnable] = false;
       productCode[kLevel] = 1;
       productCode[kName] = 'productCode';
       productCode[kShow] = true;
       subList.add(productCode);
       /// subCode
       Map<String, dynamic> subCode = {};
       subCode[kID] = id + '-' + 'subCode';
       subCode[kValue] = transactionEwicBalance.subCode;
       subCode[kType] = DataItemType.CellInput;
       subCode[kEnable] = false;
       subCode[kLevel] = 1;
       subCode[kName] = 'subCode';
       subCode[kShow] = true;
       subList.add(subCode);
       /// balance
       Map<String, dynamic> balance = {};
       balance[kID] = id + '-' + 'balance';
       balance[kValue] = transactionEwicBalance.balance;
       balance[kType] = DataItemType.CellInput;
       balance[kEnable] = false;
       balance[kLevel] = 1;
       balance[kName] = 'balance';
       balance[kShow] = true;
       subList.add(balance);
      }
     if (id == 'Transaction_Response_DoCreditResponse-paymentTransactionInformation_ewicDetail') {
       TransactionEwicDetail transactionEwicDetail = modelList[i];
       /// upcPluInd
       Map<String, dynamic> upcPluInd = {};
       upcPluInd[kID] = id + '-' + 'upcPluInd';
       upcPluInd[kValue] = transactionEwicDetail.upcPluInd;
       upcPluInd[kType] = DataItemType.Menu;
       upcPluInd[kEnable] = false;
       upcPluInd[kLevel] = 1;
       upcPluInd[kName] = 'upcPluInd';
       upcPluInd[kShow] = true;
       subList.add(upcPluInd);
       /// upcPluData
       Map<String, dynamic> upcPluData = {};
       upcPluData[kID] = id + '-' + 'upcPluData';
       upcPluData[kValue] = transactionEwicDetail.upcPluData;
       upcPluData[kType] = DataItemType.CellInput;
       upcPluData[kEnable] = false;
       upcPluData[kLevel] = 1;
       upcPluData[kName] = 'upcPluData';
       upcPluData[kShow] = true;
       subList.add(upcPluData);
       /// upcPrice
       Map<String, dynamic> upcPrice = {};
       upcPrice[kID] = id + '-' + 'upcPrice';
       upcPrice[kValue] = transactionEwicDetail.upcPrice;
       upcPrice[kType] = DataItemType.CellInput;
       upcPrice[kEnable] = false;
       upcPrice[kLevel] = 1;
       upcPrice[kName] = 'upcPrice';
       upcPrice[kShow] = true;
       subList.add(upcPrice);
       /// upcQty
       Map<String, dynamic> upcQty = {};
       upcQty[kID] = id + '-' + 'upcQty';
       upcQty[kValue] = transactionEwicDetail.upcQty;
       upcQty[kType] = DataItemType.CellInput;
       upcQty[kEnable] = false;
       upcQty[kLevel] = 1;
       upcQty[kName] = 'upcQty';
       upcQty[kShow] = true;
       subList.add(upcQty);
       /// actionCode
       Map<String, dynamic> actionCode = {};
       actionCode[kID] = id + '-' + 'actionCode';
       actionCode[kValue] = transactionEwicDetail.actionCode;
       actionCode[kType] = DataItemType.CellInput;
       actionCode[kEnable] = false;
       actionCode[kLevel] = 1;
       actionCode[kName] = 'actionCode';
       actionCode[kShow] = true;
       subList.add(actionCode);
       /// originalPrice
       Map<String, dynamic> originalPrice = {};
       originalPrice[kID] = id + '-' + 'originalPrice';
       originalPrice[kValue] = transactionEwicDetail.originalPrice;
       originalPrice[kType] = DataItemType.CellInput;
       originalPrice[kEnable] = false;
       originalPrice[kLevel] = 1;
       originalPrice[kName] = 'originalPrice';
       originalPrice[kShow] = true;
       subList.add(originalPrice);
       /// originalQty
       Map<String, dynamic> originalQty = {};
       originalQty[kID] = id + '-' + 'originalQty';
       originalQty[kValue] = transactionEwicDetail.originalQty;
       originalQty[kType] = DataItemType.CellInput;
       originalQty[kEnable] = false;
       originalQty[kLevel] = 1;
       originalQty[kName] = 'originalQty';
       originalQty[kShow] = true;
       subList.add(originalQty);
      }
     if (id == 'Transaction_Response_DoGiftResponse-paymentTransactionInformation_ewicBalance') {
       TransactionEwicBalance transactionEwicBalance = modelList[i];
       /// productCode
       Map<String, dynamic> productCode = {};
       productCode[kID] = id + '-' + 'productCode';
       productCode[kValue] = transactionEwicBalance.productCode;
       productCode[kType] = DataItemType.CellInput;
       productCode[kEnable] = false;
       productCode[kLevel] = 1;
       productCode[kName] = 'productCode';
       productCode[kShow] = true;
       subList.add(productCode);
       /// subCode
       Map<String, dynamic> subCode = {};
       subCode[kID] = id + '-' + 'subCode';
       subCode[kValue] = transactionEwicBalance.subCode;
       subCode[kType] = DataItemType.CellInput;
       subCode[kEnable] = false;
       subCode[kLevel] = 1;
       subCode[kName] = 'subCode';
       subCode[kShow] = true;
       subList.add(subCode);
       /// balance
       Map<String, dynamic> balance = {};
       balance[kID] = id + '-' + 'balance';
       balance[kValue] = transactionEwicBalance.balance;
       balance[kType] = DataItemType.CellInput;
       balance[kEnable] = false;
       balance[kLevel] = 1;
       balance[kName] = 'balance';
       balance[kShow] = true;
       subList.add(balance);
      }
      res.add(subList);
    }
    return res;
  }
}
